#!/bin/sh
set -eu
SERVER="https://remote.63.lv"
HERE=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
SOURCE="$HERE/remote63-agent"
DESTDIR="$HOME/Library/Application Support/Remote63"
DEST="$DESTDIR/remote63-agent"
PLIST="$HOME/Library/LaunchAgents/lv.63.remote.agent.plist"
mkdir -p "$DESTDIR" "$HOME/Library/LaunchAgents"
cp "$SOURCE" "$DEST"
chmod 700 "$DEST"
cat > "$PLIST" <<PLISTEOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
<key>Label</key><string>lv.63.remote.agent</string>
<key>ProgramArguments</key><array><string>$DEST</string><string>--server</string><string>$SERVER</string></array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key><string>$DESTDIR/agent.log</string>
<key>StandardErrorPath</key><string>$DESTDIR/agent-error.log</string>
</dict></plist>
PLISTEOF
UIDNUM=$(id -u)
launchctl bootout "gui/$UIDNUM/lv.63.remote.agent" >/dev/null 2>&1 || launchctl unload "$PLIST" >/dev/null 2>&1 || true
launchctl bootstrap "gui/$UIDNUM" "$PLIST" >/dev/null 2>&1 || launchctl load "$PLIST"
launchctl kickstart -k "gui/$UIDNUM/lv.63.remote.agent" >/dev/null 2>&1 || true
sleep 2
open "http://127.0.0.1:3763"
exit 0
